package com.demo.util;

public class TimeUtil {
  /**
   * 计算距离下一个指定时间点的延迟时间
   * @param hour 小时 (0-23)
   * @param minute 分钟 (0-59)
   * @return 延迟毫秒数
   */
  public static long calculateInitialDelay(int hour, int minute) {
    long now = System.currentTimeMillis();
    long next = java.time.LocalDate.now()
        .atTime(hour, minute)
        .atZone(java.time.ZoneId.systemDefault())
        .toInstant()
        .toEpochMilli();

    if (now > next) {
      next += 24 * 60 * 60 * 1000; // 如果今天的时间已过，则计算明天的时间
    }

    return next - now;
  }
}
